/*
    BibleNotebook - A bible reader software
    Copyright (C) 2014  Williams Fernando Lopez

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
 */

package com.simplebible.bible.objects;

import java.util.List;
import com.simplebible.objects.CommonObject;

/**
 *
 * @author Williams Lopez
 */
public class BibleObject extends CommonObject{
    
    private Abreviation abreviation;
    private String humanName;
    private int id;
    int orden;

    private List<Note> notes;


    public Abreviation getAbreviation() {
        return abreviation;
    }

    public void setAbreviation(Abreviation abreviation) {
        this.abreviation = abreviation;
    }

    public void setAbreviation(String abreviation) {
        this.abreviation = Abreviation.parse(abreviation);
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getHumanName() {
        return humanName;
    }

    public void setHumanName(String humanName) {
        this.humanName = humanName;
    }

    

    public List<BookMark> getBookmarks() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public void addBookmark(BookMark bookMark) {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public int getOrden() {
        return orden;
    }

    public void setOrden(int orden) {
        this.orden = orden;
    }

    public List<Note> getNotes() {
        return notes;
    }

    public void setNotes(List<Note> notes) {
        this.notes = notes;
    }


    @Override
    public boolean equals(Object obj) {
        if(obj == null){
            return false;
        }

        if(obj == this){
            return true;
        }

        if(obj instanceof BibleObject){
            BibleObject other = ((BibleObject)obj);
            if(this.abreviation!=null && other.abreviation!=null && (this.abreviation.equals(other.abreviation))){

            }
        }
        return false;
    }

    @Override
    public int hashCode() {
        int hash = 3;
        hash = 97 * hash + (this.abreviation != null ? this.abreviation.hashCode() : 0);
        return hash;
    }

    


    
}
